﻿using SmartWMS.Common.ResponseOutput;
using SmartWMS.Domain.BasicsDatum;
using SmartWMS.Domain.BusinessManage;
using SmartWMS.Server.BasicsDatumServer.CustomerManagementService.Dto;
using SmartWMS.Server.BasicsDatumServer.WarehouseManagementService.Dto;
using SmartWMS.Server.BusinessServer.SalesManagementService.Dto;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SmartWMS.Server.BusinessServer.SalesManagementService
{
	/// <summary>
	/// 销售管理接口
	/// </summary>
	public interface ISalesManagementService : ITransientServer
	{
		Task<(int pageCount, int totalCount, Response<List<SalesManagementDtoInpute>> data)> GetSalesManagementDtoAsync(SearchSalesManagementDto dto);

		Task<Response<bool>> DelSalesManagement(SalesManagementDtoInpute info);

		Task<Response<bool>> BatchDelSearchSalesManagement(SalesManagementDtoInpute dto);

		Task<Response<FillSalesManagement1Dto>> FillSalesManagement1Async(FillSalesManagement1Dto info);

		//Task<Response<List<FileSalesManagement2Dto>>> FileSalesManagement2D                                 toAsync(FileSalesManagement2Dto info);

		Task<Response<bool>> AddSalesManagement(AddSalesManagementDto info);

		Task<Response<List<SaleDtos>>> BindSale();

		Task<Response<CustomsDtos>> GetCustomByCode(SaleDtos dto);

		Task<Response<bool>> IsReturnSearchSalesManagement(SalesManagementDtoInpute info);

		Task<Response<bool>> IsRecordedSearchSalesManagement(SalesManagementDtoInpute info);

		Task<Response<bool>> RefunAdd(SalesReturnDto info);
	}
}
